package co.edu.ucatolica.sislab.persistence.utils;

/**
 * Indica el tipo de persistencia utilizada puede ser
 * datasource o conexion directa.
 */
public class PersistenceType {
    /**
     * Singleton, instancia de la clase.
     */
    private static PersistenceType instancia = new PersistenceType();    
       
    /**
     * Conexión por defecto a la base de datos utilizando datasource.
     */
    private int tipoPersistencia = PersistenceConstants.TIPO_CONEXIONDIRECTA;
    
    /**
     * Constructor
     */
    private PersistenceType() {
        
    }

    /**
     * Indica el tipo de persistencia existente puede ser datasource o conexion directa
     * @return Tipo de persistencia
     */
    public int getTipoPersistencia() {
        return tipoPersistencia;
    }

    /**
     * Cambia el tipo de persistencia existente
     * @param tipoPersistencia Nuevo tipo de persistencia
     */
    public void setTipoPersistencia(int tipoPersistencia) {
        this.tipoPersistencia = tipoPersistencia;
    }

    /**
     * Retorna la unica instancia de la clase.
     * @return Instancia
     */
    public static PersistenceType getInstancia() {
        return instancia;
    }
}
